package cn.song.freight.domain.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 运费策略分配数据传输对象
 *
 * @author SongRenShuo
 * @date 2025/08/28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StrategyAssignmentDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 仓库编码（如：WH001）
     */
    @NotNull(message = "仓库编码不能为空")
    private String warehouseCode;

    /**
     * 物流公司编码（如：SF、YTO）
     */
    @NotNull(message = "物流公司编码不能为空")
    private String logisticsCompanyCode;

    /**
     * 外键：使用的运费策略ID（freight_strategy.id）
     */
    @NotNull(message = "运费策略ID不能为空")
    private Long strategyId;

    /**
     * 状态：1-启用，2-禁用
     */
    private Integer status;

    /**
     * 操作人（如：admin, lisi）
     */
    private String operator;

    public String getOperator() {
        return operator == null ? "admin" : operator;
    }
}
